// 引入全局组件：顶部,底部,登录对话框
import HospitalTop from '@/components/HospitalTop/index.vue'
import HospitalBottom from '@/components/HospitalBottom/index.vue'
import LoginDialog from '@/components/Login/index.vue'
// 引入SVG矢量图全局组件
import SvgIcon from '@/components/SvgIcon/index.vue'
// 引入就诊人卡片全局组件
import PatientCard from '@/components/PatientCard/index.vue'
// 倒计时全局组件
import CountDown from '@/components/CountDown/index.vue'
import type { App } from 'vue'
// 引入element-plus提供全部的图标组件
import * as ElementPlusIconsVue from '@element-plus/icons-vue'

// 对外暴露插件对象
export default {
  install(app: App) {
    // install方法接收第一个参数app是当前使用Vue实例对象
    // 注册全局组件
    app.component('HospitalTop', HospitalTop)
    app.component('HospitalBottom', HospitalBottom)
    app.component('Login', LoginDialog)
    app.component('PatientCard', PatientCard)
    app.component('CountDown', CountDown)
    // 注册封装好的svg组件为全局组件
    app.component('SvgIcon', SvgIcon)
    // 将element-plus的图标注册为全局组件
    for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
      app.component(key, component)
    }
  },
}
